/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.own.entity;

import com.jeesite.common.entity.BaseEntity;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 企业基本信息Entity
 * @author F
 * @version 2019-09-29
 */
@Table(name="own_company_basic_information", alias="a", columns={
		@Column(name="id", attrName="id", label="唯一ID", isPK=true),
		@Column(name="corp_name", attrName="corpName", label="企业名称", comment="企业名称(中文)", isUpdate=false, isQuery=false),
		@Column(name="corp_en_name", attrName="corpEnName", label="企业名称", comment="企业名称(英文)", queryType=QueryType.LIKE),
		@Column(name="country_id", attrName="countryId", label="通信地址", comment="通信地址（国家）"),
		@Column(name="province_id", attrName="provinceId", label="通信地址", comment="通信地址（省、直辖市、自治区）"),
		@Column(name="city_id", attrName="cityId", label="通信地址", comment="通信地址（市、地区）"),
		@Column(name="register_address", attrName="registerAddress", label="注册详细地址", comment="注册详细地址(中文)"),
		@Column(name="register_postcode", attrName="registerPostcode", label="注册地邮编"),
		@Column(name="orgcode", attrName="orgcode", label="组织机构代码"),
		@Column(name="gds_code", attrName="gdsCode", label="GDS厂商识别码"),
		@Column(name="business_certificate", attrName="businessCertificate", label="工商营业许可证号"),
		@Column(name="tax_certificate", attrName="taxCertificate", label="税务登记证号"),
		@Column(name="org_certificate", attrName="orgCertificate", label="组织机构证书号"),
		@Column(name="register_date", attrName="registerDate", label="注册日期"),
		@Column(name="channeluser_id", attrName="channeluserId", label="所属渠道用户ID"),
		@Column(name="remark1", attrName="remark1", label="办公电话"),
		@Column(name="remark2", attrName="remark2", label="传真"),
		@Column(name="remark3", attrName="remark3", label="邮箱"),
		@Column(name="corptype", attrName="corptype", label="企业类型"),
		@Column(name="master", attrName="master", label="企业法人"),
		@Column(name="remark4", attrName="remark4", label="手机"),
		@Column(name="remark5", attrName="remark5", label="联系人"),
		@Column(name="areacode", attrName="areacode", label="所属区域代码"),
		@Column(name="remark6", attrName="remark6", label="法人身份证号码"),
		@Column(name="remark8", attrName="remark8", label="是否为最下级企业"),
		@Column(name="remark9", attrName="remark9", label="商户所属专业市场代码"),
		@Column(name="longitude", attrName="longitude", label="地理位置经度"),
		@Column(name="latitude", attrName="latitude", label="地理位置纬度"),
		@Column(name="qyzscode", attrName="qyzscode", label="企业CPC编码"),
		@Column(name="create_company", attrName="createCompany", label="所属企业标识", isUpdate=false, isQuery=false),
		@Column(includeEntity=DataEntity.class),
	}, orderBy="a.update_date DESC"
)
public class OwnCompanyBasicInformation extends DataEntity<OwnCompanyBasicInformation> {
	
	private static final long serialVersionUID = 1L;
	private String corpEnName;		// 企业名称(英文)
	private String countryId;		// 通信地址（国家）
	private String provinceId;		// 通信地址（省、直辖市、自治区）
	private String cityId;		// 通信地址（市、地区）
	private String registerAddress;		// 注册详细地址(中文)
	private String registerPostcode;		// 注册地邮编
	private String orgcode;		// 组织机构代码
	private String gdsCode;		// GDS厂商识别码
	private String businessCertificate;		// 工商营业许可证号
	private String taxCertificate;		// 税务登记证号
	private String orgCertificate;		// 组织机构证书号
	private Date registerDate;		// 注册日期
	private String channeluserId;		// 所属渠道用户ID
	private String remark1;		// 办公电话
	private String remark2;		// 传真
	private String remark3;		// 邮箱
	private String corptype;		// 企业类型
	private String master;		// 企业法人
	private String remark4;		// 手机
	private String remark5;		// 联系人
	private String areacode;		// 所属区域代码
	private String remark6;		// 法人身份证号码
	private String remark8;		// 是否为最下级企业
	private String remark9;		// 商户所属专业市场代码
	private Double longitude;		// 地理位置经度
	private Double latitude;		// 地理位置纬度
	private String qyzscode;		// 企业CPC编码
	private String createCompany;		// 所属企业标识
	
	public OwnCompanyBasicInformation() {
		this(null);
	}

	public OwnCompanyBasicInformation(String id){
		super(id);
	}
	
	@Length(min=0, max=100, message="企业名称长度不能超过 100 个字符")
	public String getCorpEnName() {
		return corpEnName;
	}

	public void setCorpEnName(String corpEnName) {
		this.corpEnName = corpEnName;
	}
	
	@Length(min=0, max=6, message="通信地址长度不能超过 6 个字符")
	public String getCountryId() {
		return countryId;
	}

	public void setCountryId(String countryId) {
		this.countryId = countryId;
	}
	
	@Length(min=0, max=6, message="通信地址长度不能超过 6 个字符")
	public String getProvinceId() {
		return provinceId;
	}

	public void setProvinceId(String provinceId) {
		this.provinceId = provinceId;
	}
	
	@Length(min=0, max=6, message="通信地址长度不能超过 6 个字符")
	public String getCityId() {
		return cityId;
	}

	public void setCityId(String cityId) {
		this.cityId = cityId;
	}
	
	@Length(min=0, max=256, message="注册详细地址长度不能超过 256 个字符")
	public String getRegisterAddress() {
		return registerAddress;
	}

	public void setRegisterAddress(String registerAddress) {
		this.registerAddress = registerAddress;
	}
	
	@Length(min=0, max=6, message="注册地邮编长度不能超过 6 个字符")
	public String getRegisterPostcode() {
		return registerPostcode;
	}

	public void setRegisterPostcode(String registerPostcode) {
		this.registerPostcode = registerPostcode;
	}
	
	@Length(min=0, max=25, message="组织机构代码长度不能超过 25 个字符")
	public String getOrgcode() {
		return orgcode;
	}

	public void setOrgcode(String orgcode) {
		this.orgcode = orgcode;
	}
	
	@Length(min=0, max=20, message="GDS厂商识别码长度不能超过 20 个字符")
	public String getGdsCode() {
		return gdsCode;
	}

	public void setGdsCode(String gdsCode) {
		this.gdsCode = gdsCode;
	}
	
	@Length(min=0, max=200, message="工商营业许可证号长度不能超过 200 个字符")
	public String getBusinessCertificate() {
		return businessCertificate;
	}

	public void setBusinessCertificate(String businessCertificate) {
		this.businessCertificate = businessCertificate;
	}
	
	@Length(min=0, max=200, message="税务登记证号长度不能超过 200 个字符")
	public String getTaxCertificate() {
		return taxCertificate;
	}

	public void setTaxCertificate(String taxCertificate) {
		this.taxCertificate = taxCertificate;
	}
	
	@Length(min=0, max=200, message="组织机构证书号长度不能超过 200 个字符")
	public String getOrgCertificate() {
		return orgCertificate;
	}

	public void setOrgCertificate(String orgCertificate) {
		this.orgCertificate = orgCertificate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getRegisterDate() {
		return registerDate;
	}

	public void setRegisterDate(Date registerDate) {
		this.registerDate = registerDate;
	}
	
	@Length(min=0, max=20, message="所属渠道用户ID长度不能超过 20 个字符")
	public String getChanneluserId() {
		return channeluserId;
	}

	public void setChanneluserId(String channeluserId) {
		this.channeluserId = channeluserId;
	}
	
	@Length(min=0, max=50, message="办公电话长度不能超过 50 个字符")
	public String getRemark1() {
		return remark1;
	}

	public void setRemark1(String remark1) {
		this.remark1 = remark1;
	}
	
	@Length(min=0, max=50, message="传真长度不能超过 50 个字符")
	public String getRemark2() {
		return remark2;
	}

	public void setRemark2(String remark2) {
		this.remark2 = remark2;
	}
	
	@Length(min=0, max=50, message="邮箱长度不能超过 50 个字符")
	public String getRemark3() {
		return remark3;
	}

	public void setRemark3(String remark3) {
		this.remark3 = remark3;
	}
	
	@Length(min=0, max=20, message="企业类型长度不能超过 20 个字符")
	public String getCorptype() {
		return corptype;
	}

	public void setCorptype(String corptype) {
		this.corptype = corptype;
	}
	
	@Length(min=0, max=50, message="企业法人长度不能超过 50 个字符")
	public String getMaster() {
		return master;
	}

	public void setMaster(String master) {
		this.master = master;
	}
	
	@Length(min=0, max=50, message="手机长度不能超过 50 个字符")
	public String getRemark4() {
		return remark4;
	}

	public void setRemark4(String remark4) {
		this.remark4 = remark4;
	}
	
	@Length(min=0, max=50, message="联系人长度不能超过 50 个字符")
	public String getRemark5() {
		return remark5;
	}

	public void setRemark5(String remark5) {
		this.remark5 = remark5;
	}
	
	@Length(min=0, max=6, message="所属区域代码长度不能超过 6 个字符")
	public String getAreacode() {
		return areacode;
	}

	public void setAreacode(String areacode) {
		this.areacode = areacode;
	}
	
	@Length(min=0, max=18, message="法人身份证号码长度不能超过 18 个字符")
	public String getRemark6() {
		return remark6;
	}

	public void setRemark6(String remark6) {
		this.remark6 = remark6;
	}
	
	@Length(min=0, max=1, message="是否为最下级企业长度不能超过 1 个字符")
	public String getRemark8() {
		return remark8;
	}

	public void setRemark8(String remark8) {
		this.remark8 = remark8;
	}
	
	@Length(min=0, max=14, message="商户所属专业市场代码长度不能超过 14 个字符")
	public String getRemark9() {
		return remark9;
	}

	public void setRemark9(String remark9) {
		this.remark9 = remark9;
	}
	
	public Double getLongitude() {
		return longitude;
	}

	public void setLongitude(Double longitude) {
		this.longitude = longitude;
	}
	
	public Double getLatitude() {
		return latitude;
	}

	public void setLatitude(Double latitude) {
		this.latitude = latitude;
	}
	
	@Length(min=0, max=50, message="企业CPC编码长度不能超过 50 个字符")
	public String getQyzscode() {
		return qyzscode;
	}

	public void setQyzscode(String qyzscode) {
		this.qyzscode = qyzscode;
	}
	
	@Length(min=0, max=64, message="所属企业标识长度不能超过 64 个字符")
	public String getCreateCompany() {
		return createCompany;
	}

	public void setCreateCompany(String createCompany) {
		this.createCompany = createCompany;
	}
	
}